YouTube Shorts Scraper — Views, Likes & Viral Score avatar

YouTube Shorts Scraper — Views, Likes & Viral Score

Pricing

from $20.00 / 1,000 short scrapeds

Go to Apify Store
YouTube Shorts Scraper — Views, Likes & Viral Score

YouTube Shorts Scraper — Views, Likes & Viral Score

Scrape YouTube Shorts by keyword, channel, or hashtag. Returns video URL, title, views, likes, comments, hashtags, and a viral score. MCP-ready. $0.02/result.

Pricing

from $20.00 / 1,000 short scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

33

Total users

14

Monthly active users

7 days ago

Last modified

Share

What Does YouTube Shorts Scraper Do?

YouTube Shorts Scraper extracts structured data from YouTube Shorts — the short-form vertical video format that's now driving billions of views per day. Unlike general YouTube scrapers, this actor is purpose-built for Shorts and returns Shorts-specific data that no other tool captures: audio/music metadata, engagement rates, a calculated viral score that tells you exactly how much a Short overperformed relative to the channel's subscriber count, and (optionally) full transcripts with timestamps.

You can scrape Shorts by keyword search, creator channel, hashtag, or direct video URL. Export to CSV, JSON, or push directly to your pipeline.


Why Use YouTube Shorts Scraper?

  • No API quota limits — YouTube's official API caps you at 10,000 units/day. This actor has no cap.
  • Shorts-specific data — returns audio title, audio author, engagement rate, and viral score that general scrapers miss.
  • Optional transcripts — flip one boolean to get full transcripts with timestamps, language detection, and word counts. Pay only when a transcript is actually fetched.
  • 4 input modes — search keywords, channel URLs, hashtag pages, or direct Short URLs. Mix and match in the same run.
  • MCP-ready — structured JSON output with semantic field names, ready to pipe into Claude, ChatGPT, or any AI agent.
  • Engagement rate & viral score — built-in calculated fields save you post-processing time.
  • Honest pricing — failed transcript fetches cost nothing extra; you only pay for successful results.

What Data Can YouTube Shorts Scraper Extract?

FieldTypeDescription
video_idstringYouTube's 11-character video ID
titlestringShort title
descriptionstringFull description with hashtags
urlstringDirect URL to the Short
channel_namestringCreator's channel name
channel_idstringYouTube channel ID (UCxxx…)
channel_urlstringCreator's channel URL
channel_subscribersnumberChannel subscriber count
view_countnumberTotal views
like_countnumberTotal likes
comment_countnumberTotal comments
duration_secondsnumberLength in seconds
published_atstringUpload date (ISO 8601)
hashtagsarrayHashtags from title & description
audio_titlestringSound/music track title
audio_authorstringSound/music creator
thumbnail_urlstringHigh-resolution thumbnail URL
engagement_ratenumber(likes + comments) / views
viral_scorenumberviews / subscribers (>1.0 = viral)
transcript_textstring | nullFull transcript as plain text (when enabled)
transcript_segmentsarray | nullTimed segments [{start, duration, text}] (when enabled)
transcript_languagestring | nullISO 639-1 code of the language used (e.g. en)
is_auto_generatedboolean | nullTrue = ASR-generated, false = creator-uploaded
transcript_word_countnumber | nullWord count of the transcript
scraped_atstringScrape timestamp (ISO 8601)
source_urlstringDiscovery URL used

How to Scrape YouTube Shorts — Step by Step

Enter search terms to find Shorts about any topic. The actor automatically applies YouTube's Shorts filter so you get only short-form videos, not regular videos.

Example input:

{
"searchQueries": ["morning routine", "cooking hacks", "gym motivation"],
"maxResults": 50
}

2. By Creator Channel

Paste the Shorts tab URL of any YouTube channel to get all of their Shorts:

{
"channelUrls": [
"https://www.youtube.com/@MrBeast/shorts",
"https://www.youtube.com/@GordonRamsay/shorts"
],
"maxResults": 100
}

3. By Hashtag

Scrape all Shorts using a specific hashtag:

{
"hashtagUrls": [
"https://www.youtube.com/hashtag/morningroutine",
"https://www.youtube.com/hashtag/fyp"
],
"maxResults": 30
}

4. By Direct Short URL

Get full details for specific Shorts you already have URLs for:

{
"startUrls": [
{ "url": "https://www.youtube.com/shorts/VIDEO_ID_1" },
{ "url": "https://www.youtube.com/shorts/VIDEO_ID_2" }
]
}

5. With Transcripts (NEW in v1.1)

Enable transcript enrichment by flipping includeTranscripts: true. Each Short with captions returns full transcript text, timed segments, language, and word count. Shorts without captions return null transcript fields — you pay nothing extra for those.

{
"searchQueries": ["motivational quotes"],
"maxResults": 25,
"includeTranscripts": true,
"transcriptLanguage": "en",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

⚠️ Known limitation: YouTube currently rate-limits the Shorts transcript endpoint aggressively from cloud IPs and often returns "transcript disabled" even for Shorts that demonstrably have captions. Residential proxy (useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"]) materially improves success rate but does not guarantee 100%. For guaranteed transcript extraction on full-length YouTube videos, use the dedicated YouTube Transcript Extractor actor, which runs a 7-strategy fallback chain with 80%+ success rate. We do not charge for failed transcript fetches in this actor.

Shorts with voiceover or narration (storytime, motivational, how-to, "did you know" facts) generally have captions on YouTube's side. Dance, music, and visual-only Shorts typically don't.


Understanding the Viral Score

The viral_score field is unique to this actor. It's calculated as:

viral_score = view_count / channel_subscribers
  • Score > 1.0 — The Short got more views than the channel has subscribers. Strong viral signal.
  • Score > 5.0 — Exceptional breakout performance.
  • Score < 0.5 — Below-average performance for this creator's audience.

This is the fastest way to identify which Shorts broke out of a creator's existing audience.


Understanding the Engagement Rate

engagement_rate = (likes + comments) / views

Industry benchmarks for YouTube Shorts:

  • < 1% (0.01) — Low engagement
  • 1–5% (0.01–0.05) — Average
  • > 5% (0.05) — High engagement — content resonating strongly

Pricing — Pay Per Event

This actor uses transparent per-event pricing. No subscriptions, no setup fees, no daily caps.

EventWhen chargedPrice
Actor startOnce per run (per 1 GB RAM)$0.00005
Short scrapedPer Short successfully scraped$0.02
Transcript extractedPer transcript successfully fetched (only when includeTranscripts: true)$0.005

Typical run costs:

RunCost
50 Shorts (no transcripts)~$1.00
50 Shorts + transcripts (assuming 60% have captions)~$1.15
100 Shorts + transcripts (60% with captions)~$2.30
1,000 Shorts (no transcripts)~$20.00
1,000 Shorts + transcripts (60% with captions)~$23.00

Failed transcript fetches cost nothing. If a Short has no captions, transcript_text is null and no transcript event is charged.


Use Cases

Content creators — Analyze what Shorts formats, lengths, and topics get the highest engagement in your niche before you create. Pull transcripts to find the exact hooks and CTAs top creators use.

Brand marketers — Find creators producing viral Shorts about topics relevant to your brand for influencer outreach. Filter by transcript word count to find Shorts with strong scripting.

Trend analysts — Monitor trending Shorts by hashtag or keyword to spot emerging trends before they peak. Transcripts surface narrative themes that hashtags alone miss.

AI / ML teams — Collect structured Shorts metadata + transcripts at scale for training datasets, content recommendation models, or trend prediction. Transcripts are LLM-ready and token-budgetable.

Competitive intelligence — See exactly which Shorts your competitors post, how they perform, what audio/music they use, and what they actually say on camera.

SEO & Content Strategy — Identify the top hashtags, audio tracks, and recurring phrases driving Shorts virality in any niche.


Integration & Export

Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

API example (Node.js):

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('khadinakbar/youtube-shorts-scraper').call({
searchQueries: ['morning routine'],
maxResults: 20,
includeTranscripts: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python example:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("khadinakbar/youtube-shorts-scraper").call(run_input={
"channelUrls": ["https://www.youtube.com/@MrBeast/shorts"],
"maxResults": 50,
"includeTranscripts": True,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())

Scheduled runs: Set up daily or weekly scraping runs in Apify Console to monitor Shorts trends over time.

MCP / AI agents: This actor is exposed as apify--youtube-shorts-scraper in the Apify MCP server. Claude, ChatGPT, and other agents can call it directly.



Frequently Asked Questions

Does this require a YouTube account or login? No. All data is scraped from public YouTube pages. No credentials needed.

Can I scrape private or age-restricted Shorts? No. Only publicly accessible Shorts can be scraped.

Why are some fields null? YouTube sometimes hides like counts, disables comments, or doesn't show subscriber counts. When data isn't available, the field returns null rather than an incorrect value.

How many Shorts can I scrape per run? There's no hard cap. Use maxResults to control the volume. For very large runs (1,000+), we recommend running multiple smaller jobs.

Is the audio data always available? Audio/music metadata is extracted when YouTube displays it on the Shorts page. Original audio created by the creator may not have a listed track title.

What percentage of Shorts have transcripts? In our testing, ~50–70% of Shorts with spoken content have transcripts (auto-generated or creator-uploaded). Dance/music/visual-only Shorts almost never have them. You only pay for successful fetches.

Which transcript languages are supported? Any language YouTube auto-captions (50+) plus any language a creator has manually uploaded captions for. Set transcriptLanguage to the ISO 639-1 code (e.g., en, es, pt, hi, fr, de). Falls back to English, then to the first available track.

Can I get the transcript as an SRT file? The transcript_segments array contains start, duration, and text per segment — everything you need to generate SRT/VTT in a 5-line post-processing step. Use the standalone YouTube Transcript Extractor actor if you want SRT generated server-side.


Technical Notes

  • The actor uses a real Chromium browser (via Playwright) to navigate YouTube, avoiding bot detection.
  • Transcript fetching uses a two-strategy chain: (1) parse the engagement-panel transcript already embedded in the page data we fetch for metadata, then (2) fall back to the youtube-transcript npm package using YouTube's ANDROID InnerTube client. Each Short is tried in order; first success wins.
  • YouTube data structures update frequently. If you notice missing fields, please open an issue and we'll update the parser.
  • For high-volume scraping, residential proxies are recommended via the proxy configuration option.


This actor is intended for lawful data collection from publicly available YouTube pages. Users are responsible for compliance with applicable laws, YouTube's Terms of Service, and data protection regulations (GDPR, CCPA, etc.). Do not use this tool to collect data on private individuals or for any unlawful purpose. Scraping YouTube at high volumes may violate their ToS — use responsibly.